package beans;

import com.icesoft.faces.component.ext.HtmlCommandButton;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import daoLivraria.*;
import java.util.*;
import javax.faces.event.ActionEvent;

@ManagedBean
@ViewScoped
public class Tabela1Bean {

    private LivroDAO livroDAO = new LivroDAO();
    private LivroTO livroTO = new LivroTO();

    public LivroTO getLivroTO() {
        return livroTO;
    }

    public void setLivroTO(LivroTO livroTO) {
        this.livroTO = livroTO;
    }
    private ArrayList<LivroTO> livros;
    private boolean popupVisivel = false;
    private String codigo;
    private String titulo;
    private String autor;
    private byte[] capa;

    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public String getEditora() {
        return editora;
    }

    public void setEditora(String editora) {
        this.editora = editora;
    }

    public String getEstoque() {
        return estoque;
    }

    public void setEstoque(String estoque) {
        this.estoque = estoque;
    }

    public LivroDAO getLivroDAO() {
        return livroDAO;
    }

    public void setLivroDAO(LivroDAO livroDAO) {
        this.livroDAO = livroDAO;
    }

    public String getPreco() {
        return preco;
    }

    public void setPreco(String preco) {
        this.preco = preco;
    }
    private String editora;
    private String descricao;
    private String estoque;
    private String preco;
    private String ano;
    
    public Tabela1Bean() {
        livros = livroDAO.listAll();
    }
    
    public void mostraDados(ActionEvent e) {
        HtmlCommandButton botaoId = (HtmlCommandButton) e.getSource();
        int idBusca = Integer.parseInt(botaoId.getValue().toString());
        LivroTO livroBuscado = livroDAO.find(idBusca);
        if (livroBuscado != null) {
            titulo = livroBuscado.getTitulo();
            autor = livroBuscado.getAutor();
            capa = livroBuscado.getCapa();
        }
        popupVisivel = true;
    }
    
    public void escondeDados(ActionEvent e) {
        popupVisivel = false;
    }

    public ArrayList<LivroTO> getLivros() {
        return livros;
    }

    public void setLivros(ArrayList<LivroTO> livros) {
        this.livros = livros;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public byte[] getCapa() {
        return capa;
    }

    public void setCapa(byte[] capa) {
        this.capa = capa;
    }

    public boolean isPopupVisivel() {
        return popupVisivel;
    }

    public void setPopupVisivel(boolean popupVisivel) {
        this.popupVisivel = popupVisivel;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    
    public void editar(ActionEvent e){
        HtmlCommandButton botaoId = (HtmlCommandButton) e.getSource();
        int idBusca = Integer.parseInt(botaoId.getValue().toString());
        LivroTO livroBuscado = livroDAO.find(idBusca);
        if (livroBuscado != null) {
            codigo = String.valueOf(livroBuscado.getLivro_id());
            titulo = livroBuscado.getTitulo();
            autor = livroBuscado.getAutor();
            editora = livroBuscado.getEditora();
            descricao = livroBuscado.getDescricao();
            estoque = String.valueOf(livroBuscado.getEstoque());
            preco = String.valueOf(livroBuscado.getPreco());
            ano = String.valueOf(livroBuscado.getAno());
            capa = livroBuscado.getCapa();
        }
    }    
    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }    
}
